<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
	<head>
		<meta charset="utf-8"></meta>
		<title>JFinal-weixin支付测试</title>
		<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
		<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js" >  </script>				
	</head>
<body>
 	<![CDATA[   
	微信支付v3官方文档地址：https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
	]]>  
	<input type="text" value="0.01"     id="txt_money" width="128"/><br/> 
	<input type="button" value="submit" id="btn_submit"/><br/>
	<input type="text" th:value="${openId}" width="128"/><br/>
	<input type="button" value="submit" id=""/>
	<input type="button" value="开始录音" id="startRecord"/>
	<input type="button" value="停止录音" id="stopRecord"/>
	<input type="button" value="播放录音" id="playVoice"/>
	<input type="button" value="onMenuShareTimeline" id="onMenuShareTimeline"/>
</body>
<script  th:inline="javascript" type="text/javascript">
/*<![CDATA[*/
	var openid = [[${openId}]];  
	$(function(){
		$("#btn_submit").click(postpay);
		postwxconfig();
		//postpay();
	});
	function postpay()
	{
		 $.ajax({
			      url : "/wx/pay",
			      type : "GET",
			      contentType: "application/json;charset=utf-8",
			      data : {openId:openid},
			      dataType: "json",
			      contentType: "application/json",
			      success : function(wxdata) 
			      {
			    	  console.log("wxdata.appId:"+wxdata.appId);
			    	  console.log("wxdata.timeStamp:"+wxdata.timeStamp);
			    	  console.log("wxdata.nonceStr:"+wxdata.nonceStr);
			    	  console.log("wxdata.package:"+wxdata.package);
			    	  console.log("wxdata.signType:"+wxdata.signType);
			    	  console.log("wxdata.paySign:"+wxdata.paySign);
			    	  onPayReady(wxdata);
			      }
			      ,
			      error:function(msg)
			      {
			         
			      }
		});
	}
	function postwxconfig()
	{
		 $.ajax({
		      url : "/wx/jssdk",
		      type : "GET",
		      contentType: "application/json;charset=utf-8",
		      data : {},
		      dataType: "json",
		      contentType: "application/json",
		      success : function(wxdata) 
		      {
		    	  wxInit(wxdata);
		      }
		      ,
		      error:function(msg)
		      {
		         alert("postwxconfig error")
		      }
		});
	}
	
	function wxShare()
	{
		  wx.onMenuShareQQ({
		      title: '互联网之子',
		      desc: '在长大的过程中，我才慢慢发现，我身边的所有事，别人跟我说的所有事，那些所谓本来如此，注定如此的事，它们其实没有非得如此，事情是可以改变的。更重要的是，有些事既然错了，那就该做出改变。',
		      link: 'http://movie.douban.com/subject/25785114/',
		      imgUrl: 'http://img3.douban.com/view/movie_poster_cover/spst/public/p2166127561.jpg',
		      trigger: function (res) {
		        alert('用户点击分享到QQ');
		      },
		      complete: function (res) {
		        alert(JSON.stringify(res));
		      },
		      success: function (res) {
		        alert('已分享');
		      },
		      cancel: function (res) {
		        alert('已取消');
		      },
		      fail: function (res) {
		        alert(JSON.stringify(res));
		      }
		    });
		    alert('已注册获取“分享到 QQ”状态事件');		
		
	}
	
	function wxInit(wxdata)
	{
		 /*
		  * 注意：
		  * 1. 所有的JS接口只能在公众号绑定的域名下调用，公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
		  * 2. 如果发现在 Android 不能分享自定义内容，请到官网下载最新的包覆盖安装，Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
		  * 3. 常见问题及完整 JS-SDK 文档地址：http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
		  *
		  * 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决，如仍未能解决可通过以下渠道反馈：
		  * 邮箱地址：weixin-open@qq.com
		  * 邮件主题：【微信JS-SDK反馈】具体问题
		  * 邮件内容说明：用简明的语言描述问题所在，并交代清楚遇到该问题的场景，可附上截屏图片，微信团队会尽快处理你的反馈。
		  */
		 var s=""+
			"wxdata.appId:"+wxdata.appId+"\r\n"+
			"wxdata.timeStamp:"+wxdata.timestamp+"\r\n"+
			"wxdata.nonceStr:"+wxdata.noncestr+"\r\n"+
			"wxdata.signature:"+wxdata.signature+"\r\n";
		 wx.config({
		     debug: true,
		     appId:     wxdata.appId,
		     timestamp: wxdata.timestamp,
		     nonceStr:  wxdata.noncestr,
		     signature: wxdata.signature,
		     jsApiList: [
		       'checkJsApi',
		       'onMenuShareTimeline',
		       'onMenuShareAppMessage',
		       'onMenuShareQQ',
		       'onMenuShareWeibo',
		       'onMenuShareQZone',
		       'hideMenuItems',
		       'showMenuItems',
		       'hideAllNonBaseMenuItem',
		       'showAllNonBaseMenuItem',
		       'translateVoice',
		       'startRecord',
		       'stopRecord',
		       'onVoiceRecordEnd',
		       'playVoice',
		       'onVoicePlayEnd',
		       'pauseVoice',
		       'stopVoice',
		       'uploadVoice',
		       'downloadVoice',
		       'chooseImage',
		       'previewImage',
		       'uploadImage',
		       'downloadImage',
		       'getNetworkType',
		       'openLocation',
		       'getLocation',
		       'hideOptionMenu',
		       'showOptionMenu',
		       'closeWindow',
		       'scanQRCode',
		       'chooseWXPay',
		       'openProductSpecificView',
		       'addCard',
		       'chooseCard',
		       'openCard'
		     ]
		 });		
	}
	function beforePay()
	{
/* 	  	if (typeof(WeixinJSBridge) == "undefined")
	  	{
	  		if(document.addEventListener){
	  			document.addEventListener('WeixinJSBridgeReady', onPayReady, false);
	  		}
	  		else if (document.attachEvent){
	  			document.attachEvent('WeixinJSBridgeReady', onPayReady); 
	  			document.attachEvent('onWeixinJSBridgeReady', onPayReady);
	  		}
	  	} */
    }	
	function onPayReady(wxdata)
	{
		var s=
		"wxdata.appId:"+wxdata.appId+"\r\n"+
		"wxdata.timeStamp:"+wxdata.timeStamp+"\r\n"+
		"wxdata.nonceStr:"+wxdata.nonceStr+"\r\n"+
		"wxdata.package:"+wxdata.package+"\r\n"+
		"wxdata.signType:"+wxdata.signType+"\r\n"+
		"wxdata.paySign:"+wxdata.paySign;
		console.log(s);
    	WeixinJSBridge.invoke('getBrandWCPayRequest',
    		{
    			appId:wxdata.appId,
    			timeStamp:wxdata.timeStamp,
    			nonceStr:wxdata.nonceStr,
    			package:wxdata.package,
    			signType:wxdata.signType,
    			paySign:wxdata.paySign 
			},
			function(res){      
				if(res.err_msg == "get_brand_wcpay_request:ok" ) {
	    			alert("支付成功，请在送礼列表中查看！");
	    			if(itemId == null || itemId == ""){
	    				window.location.href = "http://www.51gogo.cc/dist/#/voteaction?voteid=" + voteId + "&itemid=" + itemId + 
									"&id=" + id + "&code=" + code;
	    			}else{
	    				window.location.href = "http://www.51gogo.cc/dist/#/fooddetail?voteid=" + voteId + "&itemid=" + itemId + 
								"&id=" + id + "&code=" + code;
	    			}
	    		}else if(res.err_msg == "get_brand_wcpay_request:fail"){
	    			alert("支付失败！");
	    			if(itemId == null || itemId == ""){
	    				window.location.href = "http://www.51gogo.cc/dist/#/voteaction?voteid=" + voteId + "&itemid=" + itemId + 
	    						"&id=" + id + "&code=" + code;
	    			}else{
	    				window.location.href = "http://www.51gogo.cc/dist/#/fooddetail?voteid=" + voteId + "&itemid=" + itemId + 
	    						"&id=" + id + "&code=" + code;
	    			}
	    		}else{  
	    			alert("取消支付！");
	    			if(itemId == null || itemId == ""){
	    				window.location.href = "http://www.51gogo.cc/dist/#/voteaction?voteid=" + voteId + "&itemid=" + itemId + 
	    						"&id=" + id + "&code=" + code;
	    			}else{
	    				window.location.href = "http://www.51gogo.cc/dist/#/fooddetail?voteid=" + voteId + "&itemid=" + itemId + 
	    						"&id=" + id + "&code=" + code;
	    			}
	    		}  
    		}
		);
    }	
	/*
	 * 注意：
	 * 1. 所有的JS接口只能在公众号绑定的域名下调用，公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
	 * 2. 如果发现在 Android 不能分享自定义内容，请到官网下载最新的包覆盖安装，Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
	 * 3. 完整 JS-SDK 文档地址：http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
	 *
	 * 如有问题请通过以下渠道反馈：
	 * 邮箱地址：weixin-open@qq.com
	 * 邮件主题：【微信JS-SDK反馈】具体问题
	 * 邮件内容说明：用简明的语言描述问题所在，并交代清楚遇到该问题的场景，可附上截屏图片，微信团队会尽快处理你的反馈。
	 */
	wx.ready(function () {
		
		
	  try
	  {
		
	  	alert("wx ready");

	  	$("#onMenuShareTimeline").click(wxShare);

	/*     wx.chooseImage({
		      success: function (res) {
		        images.localId = res.localIds;
		        alert('已选择 ' + res.localIds.length + ' 张图片');
		      }
		    });
	    
	    wx.getNetworkType({
		      success: function (res) {
		        alert(res.networkType);
		      },
		      fail: function (res) {
		        alert(JSON.stringify(res));
		      }
		    });	     */
	  	
	  	alert("wx ready");
	  }
	  catch(e)
	  {
		  alert(e);
	  }
	  finally    {   
         
      }  
	 
	});
	wx.error(function (res) {
		
	  console.log(res.errMsg);
	  
	});
	/*]]>*/
</script>
</html>



